package org.jiuling.aliyun.sms.factory.service.verify;

import org.jiuling.aliyun.sms.dto.SignFileListDto;
import org.jiuling.aliyun.sms.enums.SignSourceEnum;
import org.jiuling.basics.validation.Assertions;

import java.util.List;

/**
 * 阿里云签名管理校验
 * @author 紫灵
 * @date 2023年03月03日 10时39分09秒
 */
public class AliYunSignatureManagementVerify {

    /**
     * 校验添加短信签名
     * @param signSource 签名来源
     * @param remark 短信签名申请说明
     * @param signFileList 短信文件列表
     * @param signName 签名名称
     */
    public static void addSmsSignParam(SignSourceEnum signSource, String remark, List<SignFileListDto> signFileList, String signName){
        Assertions.ObjectAssertions.isNotNull("签名来源不能为空！",signSource);
        Assertions.StringAssertions.isNotBlank("短信签名申请说明不能为空！",remark);
        Assertions.StringAssertions.isNotBlank("签名名称不能为空！",signName);
        Assertions.ListAssertions.isNotNull("签名文件列表不能为空！",signFileList);
    }

    /**
     * 校验删除短信签名
     * @param signName 签名名称
     */
    public static void deleteSmsSignParam(String signName){
        Assertions.StringAssertions.isNotBlank("签名不能为空！",signName);
    }

    /**
     * 校验修改短信签名
     * @param signSource 签名来源
     * @param remark 短信签名申请说明
     * @param signFileList 短信文件列表
     * @param signName 签名名称
     */
    public static void modifySmsSignParam(SignSourceEnum signSource, String remark, List<SignFileListDto> signFileList, String signName){
        addSmsSignParam(signSource, remark, signFileList, signName);
    }

    /**
     * 校验查询短信签名
     * @param signName 签名名称
     */
    public static void querySmsSignParam(String signName){
        deleteSmsSignParam(signName);
    }
}

